package tr.mesir.service;

import java.util.List;

import org.apache.lucene.queryParser.ParseException;

import tr.mesir.domain.AddressBook;
import tr.mesir.domain.wrappers.ContactVersionWrapper;

/**
 * Contract for AddressBookService 
 * 
 * @author mertcaliskan
 *
 */
public interface AddressBookService {

	void save(AddressBook addressBook);
	
	List<AddressBook> findAll();
	
	void update(AddressBook addressBook);
	
	void delete(AddressBook addressBook);
	
	AddressBook findById(Long id);
	
	List<AddressBook> findByWord(String searchWord) throws ParseException;
	
	List<AddressBook> getAddressBookVersions(Long id);
	
	public List<ContactVersionWrapper> getContactVersions(Long id);

	List<String> findAllTitles();
}